In the present invention, a source (S) means a one-to-many file transmission server and members 1, 2, 3, 4 and 5 will be described as a concept of a client such as a Personal Computer (PC) and a communication terminal.
Also, the present invention can be applied to all trees regardless of a structure of a tree, i.e., a forming method.
In application such as one-to-many file transmission, the present invention can reduce a load of data transmission based on a multicast. An IP multicast can support the multicast by most efficiently applying a network resource, but the IP multicast is not widely supported on the Internet in spite of ceaseless efforts.
Therefore, a research for realizing a multicast function in an application layer has been actively progressed. It is because there is a merit that an application layer multicast can be easily produced and allocated in comparison with the IP multicast.
When data are transmitted in the one-to-many application layer multicast, it is general to form a spanning tree which becomes a source of a root between the source and all receivers. However, this tree structure has two disadvantages.
First, efficiency that child nodes sense can decrease by their ancestor nodes having a bad network environment or computing performance. Second, each member should receive data from only one parent node. Accordingly, when a sudden error occurs in one of ancestor nodes, data reception can be failed.
The application layer multicast is a method for improving file transmission performance and methods such as ROMA, Splitstream, Bullet, Informed, Zhu and Overcast are suggested. The application layer multicast is divided into a single forwarder method and a multiplex forwarder method.
When data are transmitted based on the application layer multicast, the single forwarder method uses the tree structure, just as the IP multicast. In the application layer multicast technique using the tree, since all members in a session have only one forwarder parent node, the application layer multicast technique is classified into the single forwarder method. The single forwarder method includes Overcast and ROMA.
In the Overcast method, a member for joining the session is attached to a root of the tree. Subsequently, the member gradually moves from the root to a lower part of the tree within a range that a data reception rate does not decrease. Since many members are attached to the root of the tree, a bandwidth can be wasted. The data reception rate is measured by a reference of a time for receiving 10 KB data. Also, each member is attached to a child node of a better member by periodically monitoring other member. Performance of all sessions is improved by repeating the procedure. Also, reliability in data transmission can be realized by transmitting an acknowledgement (ACK).
The ROMA method means securing reliable transmission of the data by using a Forward Error Correction (FEC) coding method as well as a tree transmitting method. The ROMA method uses a forward-when-feasible technique instead of a store-and-forward technique.
That is, since all packets arriving at a reception buffer for a multicast are transmitted to all transmission buffers by the store-and-forward technique used in the ROMA method, performance of all sessions is limited by the slowest link on the tree. Although a limitless buffer can be used to solve the problem, there is a difficulty in adaptive reconfiguration of an overlay network.
In the forward-when-feasible technique used in the ROMA method, a packet arriving at the reception buffer is transmitted only to a transmission buffer capable of instantly receiving the packet. Therefore, the transmission buffer, which is already full of packets, does not need to receive a packet and bottlenecks that the lowest link on the tree limits performance of all sessions are not generated. Also, the ROMA method can have better performance than the IP unicast through the well-formed overlay tree.
The single forwarder method has several disadvantages. First, the reception rate of the data is lower in a lower part of the tree. Accordingly, each member should continuously monitor other member to be located in a good position on tree. Second, since each member depends only on the parent node, it is difficult to properly respond to failure of the node/link.
The multiplex forwarder method has been studied to overcome the disadvantages. The multiplex forwarder method includes Bullet, Informed delivery, Two-redundant multicast mesh, and Splitstream.
The Bullet method assumes data encoding based on the FEC and is formed based on an overlay mesh tree to overcome disadvantages of the conventional tree-based technique. In formation of the tree, all techniques can be used. That is,
In the Bullet method, one new layer, i.e., a high-bandwidth mesh, on a predetermined tree structure is formed and performance is improved by transmitting data according to a peer to peer (P2P) method through a mesh. Each member should find other member having data which are necessary for each member to form a mesh. Therefore, information on which data each member has is exchanged between members.
In this procedure, a control overhead is generated and a summary is used in information exchange instead of expressing all of data information to reduce a packet size. Since the summary does not express exact state information, the data reception is always duplicated.
The Informed delivery method assumes data encoding based on FEC and is a technique for improving performance when large-capacity files are transmitted through a broadband communication network. The Informed delivery method focuses on cooperative transmission between members. Each host can recover the data by a little overhead based on the Digital fountain encoding approach technique.
Since the Informed delivery method uses the multiplex forwarder method, there is a problem that the data reception is duplicated. Accordingly, an algorithm for efficiently exchanging packet retention information between members in a corporative relation to decrease duplication rate is suggested.
In spite of the suggested information exchange algorithm, duplicated reception of the data is a still problem and the summary should be ceaselessly exchanged to acquire packet retention information of other member, thereby increasing the control overhead.
The Two-redundant multicast mesh method is a technique based on the mesh structure suggested to improve performance of the application layer multicast by writers of Zhu and uses the network coding. The Two-redundant multicast mesh method improves the performance of all sessions by making it possible to simultaneously have two forwarders. Also, it is considered as a pass bandwidth is more important than Round Trip Time (RTT).
The Splitstream method is a high-bandwidth application layer multicast technique and each members cooperatively forms a transmission topology. Many members on the tree are located in a terminal. The member located in the terminal does not perform forwarding rod and it causes disparity and performance deterioration of the session.
Therefore, a forest is used to disperse the forwarding rod. The forest is formed of a plurality of trees and an internal node of one tree becomes a terminal node of other tree. Also, a content to be transmitted is divided into many strips and each strip is transmitted through other tree. Each member joins all trees, if possible. Each member can overcome a failure through transmission using a multiplex tree by clarifying the number of the strip to be transmitted.
Although a reception time can be reduced by using the multiplex forwarder, several overheads can be generated in a procedure for selecting the multiplex forwarder. First, the duplicated reception of the packet can be generated. Second, retention data information of each member should be ceaselessly exchanged to find a forwarder having the data, which are not owned by each member, and it causes the control overhead.
Methods for transmitting the summary of the retention data information to reduce the control overhead, e.g., an Informed delivery method and a Bullet method, are used. However, since the limitation of expression that the summary has causes the duplicated reception of the packet, there is a problem that the considerable control overheads exist.